

/*template<class T_Interface>
IPlugin
   construct
   init(T_Interface
   String getName() = 0;

IRenderer
ITextureLoader
   init(TextureMgr& owner) = 0;
      owner.registerTextureLoader(this, ".png .tga .gif .jpeg");
      *OR*
      String getLoadableExtensions() = 0;
   
   String get
   loadTexture(String sFilename) = 0;
IEntity*/

#include "Pluginterface.h"

#include <iostream>
#include <vector>
#include <map>
#include <string>

typedef std::string String;

class IRenderer
{
public:
	virtual bool init() = 0;
	virtual bool drawSprite( ) = 0;
	virtual bool renderScene() = 0;
	
};

class Engine
{
	IRenderer* m_pRenderer;
	Pluginterface<IRenderer> m_RendererPluginterface;
	/*IAudio* m_pAudio;
	PluginMgr<IRenderer> m_AudioPluginMgr;
	Network
	World*/
	
public:
	Engine();
	~Engine();

};
